package com.tedu.api.thread;

/**
 * JDK1.8新语法   支持Lambda写法：广泛应用在项目中
 * Lambda表达式--->简化：集合【遍历集合、过滤文件方法】、方法
 * 、接口创建、抽象类的创建、匿名内部类的创建【函数式遍历】 Comparator比较器创建
 * lambda功能性接口---实现：有一个方法的接口，并且打印数据
 * lambda表达式的语法：()->{}
 * <p>
 * 1.创建一个接口Insert---使用子类方式实现接口
 * 2.创建Insert接口---使用匿名内部类方式  实现接口
 * 3.创建lambda表达式---接口的创建
 */
public class LambdaDemo {
    public static void main(String[] args) {
       /* Insert insert = new Insert() {
            public long Dian(long money,int day) {
                return 1L;
            }
        };
        insert.Dian(100,31);*/
        //Lambda表达式写法  ()->{}
        /**
         * 第一种Lambda表达式支持：接口使用匿名内部类方式创建
         * ()代表方法参数：无参数情况----括号不可以删除
         *               有参数情况---一个参数---可以删除
         *                       ---多个参数---不可以删除
         *                       (形参1,形参2)
         *  ->代表new创建对象的过程
         *  {}代表方法中的实现：返回值 void 直接输出语句块---去掉{}
         *                   返回值  集合  不可以去掉{}  【一会儿测】
         *                   返回值  java数据类型    不可以去掉{}
         */

        Insert insert = (money,day)->
        {return 1L;};
        long dian=insert.Dian(100,31);
        System.out.println("用电量："+dian+"°");
    }
}

//创建一个接口Insert
interface Insert{
    public long Dian(long money,int day);
}
//创建子类  实现Insert
/*class Computer implements Insert {
    @Override
    public long Dian(long money) {
        return 100;
    }
}*/
